The art is proposed that, when recording (storing) data as objects to be stored (hereinafter, referred to as “object data”) in a plurality of storages, the object data is stored in each storage where the object data are nearly evenly (uniformly) distributed. According to such technology, by performing simultaneous access to the plurality of storages, an access performance to the object data improves. However, when the object data distributed and recorded in the plurality of storages is accessed, a method to examine the storages recording the object data is a problem.
As methods to examine the storages recording the object data, the following two methods are considered.
The first method is the method to examine the storages recording the object data by holding a corresponding relationship between the object data and the storage in a table, and referring to the table during data access.
In the second method, first, a corresponding relationship between the object data and the storage is determined by using a specified algorithm based on information specific to the object data (hereinafter, referred to as “metadata”). And in the second method, during data access, by inputting the metadata to the algorithm, a storage which records target object data is examined.
In the first method (method using a table reference) mentioned above, all equipment having a possibility that the corresponding relationship between the object data and the storage is examined has to store the table which holds the corresponding relationship therebetween.
On the other hand, in order to determine the storage which should record the object data by the algorithm, the second method (method using algorithm) mentioned above does not need to store the table which holds a corresponding relationship between the object data and the storage. However, in the second method, the algorithm for recording the object data in the each storage is needed in state of sufficient distribution thereof so that performance improvement of simultaneous access to a plurality of storages may be demonstrated sufficiently during data access. In the second method, when storage number may fluctuate, it needs the algorithm which calculates correspondence of the object data and the storage corresponding to the fluctuation of the storage number. As a related art which discloses the second method, there are a patent literature 1 (Japanese Patent Application Laid-Open No. 2003-216474) and a patent literature 2 (Japanese Patent Application Laid-Open No. 2008-181358).
FIG. 18 is a chart which explains the related art which exists before the present application was filed. As an example of a system to determine correspondence of known data and storage based on metadata, a system 600 is shown in FIG. 18. The system 600 determines the storage which records object data using the metadata.
That is, in the system 600, by performing a hash operation based on a metadata 611 among object data and the metadata (610), a hash operational function 601 gets a hash 612. The metadata 611 is an identifier which was given in order to specify the object data, and is information such as an address, an object name, a directory-name or a file name.
Next, by performing modular arithmetic based on the hash 612 and connection storage information 613, the modular operational function 602 gets a result 614 of the modular arithmetic. Here, connection storage information 613 is information which is needed when data of a network address of storage is stored in a storage. The modular operational function 602 obtains the number of storage from the connection storage information 613 and performs the modular arithmetic to the hash 612 by the number of storage. As a result, the modular operational function 602 obtains a modular arithmetic result 614. And a number-storage corresponding determination function 603 determines a storage 620 which records the object data 610 based on the modular arithmetic operation result 614 and outputs storage information 615 related to the determined storage 620.
As mentioned above, when object data is arranged in a plurality of storages, a storage determination method disclosed by the patent literature 1 can be applied. According to this method, the storage can be determined by calculation. That is, according to the method thereof, the object data can be distributed and recorded to a plurality of storages without using a table which holds a corresponding relationship between the object data and the storage. According to the method thereof, by changing the divisor in the modular arithmetic, it is possible to correspond to the change in the number of storage.
As a related art which exists before the present application was filed, for example, there is non-patent literature 1. When storage fluctuates from the state that object data was distributionally arranged to a plurality of storages, an art which suppresses movement of each object data in a minimum is proposed.